package com.lonely.order.service;

import com.lonely.order.domain.dto.api.*;
import com.lonely.order.domain.entity.SysSheinOpenApiSecret;

import java.util.List;

/**
 * mes api 接口
 *
 * @author fzzf
 */
public interface IMesApiService {

    /**
     * 按时间查询生产制单号
     *
     * @return
     */
    List<Integer> queryProduceOrderIds(SysSheinOpenApiSecret sheinOpenApiSecret, QueryProduceOrderIdsReqDTO reqDTO);

    /**
     * MES-FAC-001 订单数据获取接口
     *
     * @param reqDTO
     * @return
     */
    List<GetOrderInfoResDTO> getOrderInfo(SysSheinOpenApiSecret sheinOpenApiSecret, GetOrderInfoReqDTO reqDTO);

    /**
     * 根据订单号查询订单信息
     *
     * @param reqDTO
     * @return
     */
    QueryProduceOrderInfoByIdResDTO queryProduceOrderInfoById(SysSheinOpenApiSecret sheinOpenApiSecret, QueryProduceOrderInfoByIdReqDTO reqDTO);


    /**
     * MES-FAC-005 大货bom接口
     *
     * @param reqDTO
     * @return
     */
    GetBigGoodsBomResDTO getBigGoodsBom(SysSheinOpenApiSecret sheinOpenApiSecret, GetBigGoodsBomReqDTO reqDTO);


    /**
     * MES-FAC-004 二次工艺接口
     *
     * @param reqDTO
     * @return
     */
    List<GetSecondPrecessResDTO> getSecondPrecess(SysSheinOpenApiSecret sheinOpenApiSecret, GetSecondPrecessReqDTO reqDTO);


    /**
     * MES-FAC-002 采购信息接口
     *
     * @param reqDTO
     * @return
     */
    List<GetPurchaseInfoResDTO> getPurchaseInfo(SysSheinOpenApiSecret sheinOpenApiSecret, GetPurchaseInfoReqDTO reqDTO);

    /**
     * 查询发货单信息 接口
     *
     * @param sheinOpenApiSecret
     * @param reqDTO
     * @return
     */
    List<QueryDeliverOrderResDTO> queryDeliverOrder(SysSheinOpenApiSecret sheinOpenApiSecret, QueryDeliverOrderReqDTO reqDTO);


}
